Providing an item image

ABSTRACT

A first device captures an image of an item and provides the image depicting the item, information usable to direct an electronic communication to the first device, and a textual descriptor to a host machine. The host machine is accessible by a second device. The first device receives an electronic communication from the second device regarding the image based on the information usable to direct the electronic communication to the first device that is associated with the image. The image is identifiable by the second device based on a tag for the image selected by the host machine based on the textual information. The communication is received by the first device based on a location of the first device relative to a location of the second device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of U.S. patent applicationSer. No. 16/433,866, filed Jun. 6, 2019, which is a continuation of Ser.No. 15/644,102, filed Jul. 7, 2017 (issued as U.S. Pat. No. 10,354,318),which is a continuation of U.S. patent application Ser. No. 13/367,936,filed on Feb. 7, 2012 (issued as U.S. Pat. No. 9,704,191), which is acontinuation of U.S. patent application Ser. No. 12/963,287, filed onDec. 8, 2010 (issued as U.S. Pat. No. 9,767,509). Each of theaforementioned is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The subject matter disclosed herein generally relates to the processingof data. Specifically, the present disclosure addresses systems andmethods of providing an image of an item to advertise the item.

BACKGROUND

For the purpose of merchandising a product or an item, a machine maypresent an advertisement to a user of the machine. For example, a webserver may insert a banner ad (e.g., an advertisement shaped like abanner) into a web page before providing the web page to a web clientfor presentation to a user, where the banner ad is an advertisement foran item. The banner ad may be provided to the web server by amanufacturer of a product, and the web server may, for a fee, cause thebanner ad to be presented to one or more users who view the web page. Asanother example, the web server may allow a seller of an item to write adescription of the item and publish the description as a web page thatadvertises the item as being available for purchase. The item may be aparticular instance of a product being merchandised.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which:

FIG. 1 is a diagram of a network environment suitable for providing animage of an item to advertise the item, according to some exampleembodiments;

FIG. 2 is a block diagram of a host machine, according to some exampleembodiments;

FIG. 3 is a block diagram of a seller device, according to some exampleembodiments;

FIG. 4 is a block diagram of a buyer device, according to some exampleembodiments;

FIG. 5-11 are flowcharts illustrating methods of providing an image ofan item to advertise the item, according to some example embodiments;and

FIG. 12 is a block diagram illustrating components of a machine,according to some example embodiments, able to read instructions from amachine-readable medium and perform any one or more of the methodologiesdiscussed herein

DETAILED DESCRIPTION

Example methods and systems are directed to providing an image of anitem as an advertisement for that item. Examples merely typify possiblevariations. Unless explicitly stated otherwise, components and functionsare optional and may be combined or subdivided, and operations may varyin sequence or be combined or subdivided. In the following description,for purposes of explanation, numerous specific details are set forth toprovide a thorough understanding of example embodiments. It will beevident to one skilled in the art, however, that the present subjectmatter may be practiced without these specific details.

At times, sellers of items may desire a convenient way to quickly createand distribute an advertisement for an item. A convenient way to do thisis to enable a seller's camera-phone or other camera-enabled device totake a photograph of an item and upload the resulting image, with anaddress of the seller, to an advertisement server (e.g., a classifiedadvertisement server). In particular, a software module (e.g., a sellermodule) may be provided to a mobile device of the seller that causes thedevice to capture or generate an image of the item and transmit theimage with the address of the seller to the advertisement server.Although descriptive information (e.g., a caption, a title, or a tag)about the item may be written by the seller and associated with thephotograph, such written information (e.g., a textual descriptor) is notnecessary for quickly advertising the item as being available forpurchase. The seller may rely on the photograph alone to initiallyconvey details about the item and allow a potential buyer to initiatecontact using the address of the seller. In other words, from theseller's perspective, the image itself may function as an advertisementfor the item (e.g., sufficient to invite a communication from apotential buyer).

Similarly, potential buyers of items may desire a convenient way tovisually scan through advertisements for items and initiate a requestfor information about a particular item. A convenient way to do this isto enable a potential buyer's mobile phone, portable music player, orother device to receive a photograph that depicts an item and, uponrequest, initiate a communication to the seller of the item. Inparticular, a software module (e.g., a buyer module) may be provided toa mobile device of the buyer that causes the device to receive andpresent an image depicting the item and, in response to a communicationrequest by the potential buyer, direct a communication to the seller ofthe item. Although descriptive information (e.g., caption, title, or atag) about the item may be presented with the photograph, a potentialbuyer need not search for, or read, any written information (e.g., atextual descriptor) in deciding to contact a seller for more informationabout the item depicted in the photograph. The potential buyer may relyon the photograph alone to initially present details about the item andmay utilize the seller's address to initiate contact with the seller. Inother words, from the potential buyer's perspective, the image itselfmay suffice as an advertisement for the item (e.g., sufficient to decidewhether to initiate a communication with the seller of the item).

A host machine (e.g., a server system) may be configured using one ormore software modules to facilitate reception of images captured bymobile devices and provision of those images as advertisements for itemsdepicted therein. A software module for seller devices (e.g., sellermodule) and a software module for buyer devices (e.g., buyer module) maybe respectively provided to a seller device and to a buyer device by thehost machine (e.g., as downloadable data). Such software modules maytake the form of, for example, a computer program, an application, anapplet, an “app” for a mobile device, or any suitable combinationthereof. In some example embodiments, the host machine also communicatesthe image of the item to an advertisement server (e.g., a classified adserver), which publishes the image as an advertisement of the item on aweb page (e.g., within a classified ad web site).

The seller device executes the seller module. While the seller module isbeing executed by the seller device, the host machine may receive theimage of the item, as well as a seller address (e.g., email address) ofthe seller of the item, from the seller module. As used herein, a“seller address” is an address usable to direct a communication to theseller. The seller address may be provided by the host machine to thebuyer device for use in initiating contact with the seller.

The buyer device executes the buyer module. While the buyer module isbeing executed by the buyer device, the host machine may provide theimage of the item, as well as the seller address, to the buyer modulefor use in initiating contact with the seller of the item.

According to various example embodiments, the host machine may receiveand provide one or more textual descriptors for a particular image. Forexample, the host machine may receive a textual descriptor generated atthe seller device and provide the same textual descriptor to a buyerdevice. As another example, the host machine may select a differenttextual descriptor, based on the textual descriptor provided by theseller device, and provide the different textual descriptor to the buyerdevice.

Similarly, the host machine may receive a price of the item from theseller module and provide the price of the item to the buyer module. Insome example embodiments, the host machine may select a different price,based on the price provided by the seller device, and provide thedifferent price to the buyer device.

Moreover, the host machine may receive location information (e.g.,global positioning system (GPS) coordinates) from the seller module andfrom the buyer module, respectively, and provide the image of the itembased on the location information received. For example, the hostmachine may determine that the seller device and the buyer device aresufficiently close geographically (e.g., both physically located in thesame state, city, or neighborhood) and provide the image of the item tothe buyer module based on that determination. This may have the effectof increasing the likelihood that a seller and a potential buyer willdiscuss a purchase of the item, complete a purchase of the item,transfer the item, or any suitable combination thereof.

FIG. 1 is a diagram of a network environment 100 suitable for providingan image of an item to advertise the item, according to some exampleembodiments. The network environment 100 includes a host machine 110, adatabase 112, a classified advertisement server 114, buyer devices 130and 140, and a seller device 120, all communicatively coupled to eachother via a network 190.

The host machine 110 may be a server system (e.g., web server system orapplication server system) that is configured to communicate with theseller device 120 and the buyer devices 130 and 140. In particular, thehost machine 110 is configured to communicate with seller software(e.g., a seller module) executing on the seller device 120 and withbuyer software (e.g., buyer module) executing on the buyer device 130,the buyer device 140, or both.

The database 112 is configured to store information (e.g., an image ofan item, a seller address, a location of the seller device 120, or thelocation of the buyer device 130) received by the host machine 110 or tobe provided by the host machine 110. The classified advertisement server114 is configured to publish an advertisement of the item (e.g., afurther advertisement) based on the image of the item. In some exampleembodiments, the classified advertisement server 114 is a network-basedpublication system, listing system, transaction system, shopping system,purchasing system, auction system, or any suitable combination thereof.

The classified advertisement server 114 is configured to publish one ormore listings of items. For example, the classified advertisement server114 may be configured to publish a listing of an item, where the listingof the item may span one or more web pages. As published, a listing ofan item may function as an advertisement for that item. In some exampleembodiments, the classified advertisement server 114 is configured topublish an image of the item as a listing of the item. Moreover, theclassified advertisement server 114 may organize multiple listings intoone or more classifications (e.g., categories).

Also shown in FIG. 1 are a seller 121 and users 131 and 141. The seller121 corresponds to the seller device 120. For example, the seller device120 may be a camera-enabled phone (e.g., a mobile phone with a built-incamera) used by the seller. The user 131 corresponds to the buyer device130, and the user 131 is a potential buyer of an item available forpurchase from the seller 121. Likewise, the user 141 corresponds to thebuyer device 140, and the user 141 is a potential buyer of the itemavailable for purchase from the seller 121. One or more of the seller121 and the users 131 and 141 may be a human user (e.g., a human being),a machine user (e.g., software program to interact with a clientdevice), or any suitable combination thereof.

Any of the machines, databases, or devices shown in FIG. 1 may beimplemented in a general-purpose computer modified (e.g., configured orprogrammed) by software to be a special-purpose computer to perform thefunctions described herein for that machine. For example, a computersystem able to implement any one or more of the methodologies describedherein is discussed below with respect to FIG. 12. As used herein, a“database” is a data storage resource and may store data structured as atext file, a table, a spreadsheet, a relational database, a triplestore, or any suitable combination thereof. Moreover, any two or more ofthe machines illustrated in FIG. 1 may be combined into a singlemachine, and the functions described herein for any single machine maybe subdivided among multiple machines.

The network 190 may be any network that enables communication betweenmachines (e.g., host machine 110 and seller device 120). Accordingly,the network 190 may be a wired network, a wireless network, or anysuitable combination thereof. The network 190 may include one or moreportions that constitute a private network, a public network (e.g., theInternet), or any suitable combination thereof.

FIG. 2 is a block diagram of the host machine 110, according to someexample embodiments. The host machine 110 includes a reception module210, a descriptor module 220, and a provision module 230, all configuredto communicate with each other (e.g., via a bus, a shared memory, or aswitch). Any one or more of these modules may be implemented usinghardware (e.g., a processor of a machine) or a combination of hardwareand software. Moreover, any two or more of these modules may be combinedinto a single module, and the functions described herein for a singlemodule may be subdivided among multiple modules.

The reception module 210 is configured to receive an image from a sellermodule being executed at the seller device 120. The image depicts anitem available for purchase from the seller 121, and the image isgenerated by the seller device 120. For example, the seller device 120may use a built-in camera to take a photograph of the item (e.g.,optically capture light reflected from the item and represent that lightas a digital image). The reception module 210 may receive the image asan advertisement of the item (e.g., as the entirety of the advertisementof the item). In other words, the reception module 210 may receive theadvertisement by receiving the image.

The image corresponds to a seller address (e.g., an address of theseller 121), and the seller address is usable to direct a communicationto the seller 121. As examples, the seller address may be an emailaddress of the seller 121, a phone number of the seller 121, an instantmessaging address of the seller 121, a text messaging address of theseller 121, a social network username of the seller 121, or anycombination thereof. In some example embodiments, the reception module210 is configured to receive the seller address, as well as receiveother information as described below with respect to FIGS. 5-7 and 9-10.

The descriptor module 220 is configured to determine a textualdescriptor based on another textual descriptor. As used herein, a“textual descriptor” is written information (e.g., words, phrases,numbers, or punctuation) that describes the item available for purchasefrom the seller 121. Examples of textual descriptors include a title ofthe image, a caption for the image, a description of the item, a keywordassociated with the item, a tag corresponding to the item, a price ofthe item, a quantity of the item, or any suitable combination thereof.In particular, where the reception module 210 receives a first textualdescriptor of the item, the descriptor module 220 is configured todetermine a second textual descriptor of the item, based on the firsttextual descriptor.

The provision module 230 is configured to provide the image of the itemand the seller address to a buyer module being executed at the buyerdevice 130. The buyer module is configured to display the image at thebuyer device 130. Moreover, the buyer module may be configured todisplay the image as an advertisement of the item available for purchasefrom the seller 121. Accordingly, the provision module 230 may providethe image as the advertisement of the item (e.g., as the entirety of theadvertisement of the item). In other words, the provision module 230 mayprovide an advertisement by providing the image.

The provision module 230 may provide the image of the item to the buyermodule based on location information of the seller module (e.g., firstlocation information), on location information of the buyer module(e.g., second location information), or any suitable combinationthereof. In some example embodiments, the provision module 230 mayprovide one or more textual descriptors that describe the item, theimage of the item, or both, as well as provide other informationdescribed below with respect to FIGS. 5 and 7-11.

FIG. 3 is a block diagram of the seller device 120, according to someexample embodiments. The seller device 120 includes a seller module 310,a camera 320, and a locator 330, all configured to communicate with eachother (e.g., via a bus, a shared memory, or a switch). Any one or moreof these modules may be implemented using hardware (e.g., a processor ofa machine) or a combination of hardware and software. Moreover, any twoor more of these modules may be combined into a single module, and thefunctions described herein for a single module may be subdivided amongmultiple modules.

The seller module 310 is configured to execute on the seller device 120and communicate with one or more modules of the host machine 110 (e.g.,reception module 210). Executing on the seller device 120, the sellermodule 310 transmits the image of the item available for purchase fromthe seller 121 to the reception module 210 of the host machine 110.

The seller module 310 may be configured to initiate generation of theimage of the item by the seller device 120. For example, the sellermodule 310 may trigger operation of the camera 320. Moreover, the sellermodule 310 may initiate generation of the image in response to a requestfrom the seller 121 (e.g., entered by the seller 121 using a userinterface of the seller device 120).

In some example embodiments, the seller module 310 may receive a selleraddress (e.g., an address of the seller 121), an identifier of theseller 121 (e.g., a username of the seller 121), an identifier of theseller device 120 (e.g., a unique device identifier (UDID)), or anysuitable combination thereof. According to various example embodiments,the seller module 310 may process other information described below withrespect to FIGS. 5-7 and 9.

The camera 320 is configured to capture an image and provide the imageto the seller module 310. In particular, the camera 320 may capture theimage of the item available for purchase from the seller 121, forexample, by taking a digital photograph of the item. The camera 320 maybe a built-in camera (e.g., enclosed within the seller device 120), anexternal camera (e.g., connected to the seller device 120), or anysuitable combination thereof.

The locator 330 is configured to provide location information to theseller module 310. The location information indicates a location (e.g.,a geographic location) of the seller device 120. The locator 330 maygenerate the location information (e.g., by triangulation), access thelocation information (e.g., from the database 112), or any suitablecombination thereof. In some example embodiments, the locator 330 isconfigured to use Global Positioning System (GPS) data, and the locator330 may be a GPS-enabled component of the seller device 120.

FIG. 4 is a block diagram of the buyer device 130, according to someexample embodiments. The buyer device 130 includes a buyer module 410, adisplay 420, and a locator 430, all configured to communicate with eachother (e.g., via a bus, a shared memory, or a switch). Any one or moreof these modules may be implemented using hardware (e.g., a processor ofa machine) or a combination of hardware and software. Moreover, any twoor more of these modules may be combined into a single module, and thefunctions described herein for a single module may be subdivided amongmultiple modules.

The buyer module 410 is configured to execute on the buyer device 130and communicate with one or more modules of the host machine 110 (e.g.,provision module 230). Executing on the buyer device 130, the buyermodule 410 receives the image of the item available for purchase fromthe seller 121 from the provision module 230 of the host machine 110.The buyer module 410 displays the image (e.g., via the display 420) atthe buyer device 130. For example, the buyer module 410 may display theimage at the buyer device 130 as an advertisement of the item availablefor purchase from the seller 121. In various example embodiments, thebuyer module 410 may also display (e.g., via the display 420)information related to the image (e.g., a textual descriptor, a price, aseller address, location information of the seller device 120, or anysuitable combination thereof).

The buyer module 410 may receive a seller address, an identifier of theseller 121, an identifier of the seller device 120, or any suitablecombination thereof. According to various example embodiments, the buyermodule 410 may process other information described below with respect toFIGS. 5 and 7-9.

The display 420 is configured to access the image of the item availablefor purchase from the seller 121 and display the image (e.g., to theuser 131). For example, the display 420 may operate fully or partiallyunder control of the buyer module 410 to display the image. The display420 may utilize any type of display technology and may form all or partof a user interface for the seller device 120. Examples of the display420 include a touchscreen, a projector, a computer screen, a flat-panelscreen, a head-mounted display, a monitor, or any suitable combinationthereof. Under full or partial control of the buyer module 410, thedisplay 420 may also display information related to the image (e.g., atextual descriptor, a price, a seller address, location information ofthe seller device 120, or any suitable combination thereof).

The locator 430 is configured to provide location information to thebuyer module 410. Location information includes a location (e.g., ageographic location) of the buyer device 130. The locator 430 maygenerate the location information (e.g., by triangulation), access thelocation information (e.g., from the database 112), or any suitablecombination thereof. In some example embodiments, the locator 430 isconfigured to use GPS data, and the locator 430 may be a GPS-enabledcomponent of the buyer device 130.

FIG. 5-11 are flowcharts illustrating methods 500, 600, 700, 800, 900,1000, and 1100 of providing an image of an item to advertise the item,according to some example embodiments. Operations in the methods 500,600, 700, 800, 900, 1000, and 1100 may be performed by the host machine110, using one or more modules described above with respect to FIG. 2.

As shown in FIG. 5, the method 500 includes operations 510 and 520. Inoperation 510, the reception module 210 of the host machine 110 receivesan image from the seller module 310, which is being executed at theseller device 120. The image depicts an item available for purchase fromthe seller 121, and the image is generated by the seller device 120(e.g., by the camera 320). In some example embodiments, the receiving ofthe image is in response to generation of the image by the seller device120 (e.g., by the seller module 310, the camera 320, or any suitablecombination thereof). The image corresponds to a seller address (e.g.,in matters of the seller 121). The seller address is usable to direct acommunication to the seller 121 of the item.

In operation 520, the provision module 230 of the host machine 110provides the image of the item and the seller address to the buyermodule 410, which is being executed at the buyer device 130. As notedabove, the buyer module 410 is configured to display the image of theitem at the buyer device 130 (e.g., using the display 420) as anadvertisement of the item.

As shown in FIG. 6, the method 600 includes operations 610, 620, and630, in addition to operations 510 and 520. Operations 510 and 520 aredescribed above with respect to FIG. 5.

According to some example embodiments, the seller module 310 of theseller device 120 is further configured to receive the seller address.For example, the seller module 310 may receive the seller address as asubmission to the seller device 120 from the seller 121 (e.g., enteredby the seller 121 using a user interface of the seller device 120).Accordingly, the seller module 310 may transmit the seller address tothe reception module 210 of the host machine 110. In operation 610, thereception module 210 of the host machine 110 receives the seller addressfrom the seller module 310 of the seller device 120. This may have theeffect of providing the provision module 230 with access to the selleraddress, which is provided to the buyer module 410 of the buyer device130 in operation 520.

In various example embodiments, the seller module 310 of the sellerdevice 120 is further configured to receive a device identifier (e.g.,an identifier of the seller device 120). For example, the seller module310 may receive the device identifier as a submission to the sellerdevice 120 from the seller 121 (e.g., entered by the seller 121 using auser interface of the seller device 120). Accordingly, the seller module310 may transmit the device identifier to the reception module 210 ofthe host machine 110. In operation 620, the reception module 210 of thehost machine 110 receives the device identifier from the seller module310 of the seller device 120. The device identifier corresponds to theseller address, and the correspondence relationship between the deviceidentifier and the seller address to be stored in a database (e.g.,database 112).

In operation 630, the reception module 210 accesses the seller addressfrom the database 112, based on the device identifier received inoperation 620. The database 112 stores one or more data records thatcorrelate the device identifier to the seller address. For example, thedatabase 112 may store a table that indicates an email address of theseller 121 as corresponding to a UDID of the seller device 120. This mayhave the effect of retrieving the seller address for use by theprovision module 230 in operation 520.

As shown in FIG. 7, the method 700 includes operations 710, 720, 730,and 740, in addition to operations 510 and 520. Operations 510 and 520are described above with respect to FIG. 5.

According to various example embodiments, one or more textualdescriptors may be received by the host machine 110 from the sellermodule 310 of the seller device 120, the buyer module 410 of the buyerdevice 130, or any suitable combination thereof. Similarly, one or moretextual descriptors may be provided by the host machine 110 to the buyermodule 410 of the buyer device 130, a buyer module of the buyer device140, or any suitable combination thereof.

The seller module 310 of the seller device 120 may be configured toreceive a textual descriptor of the item depicted in the image receivedby the reception module 210 of the host machine 110 in operation 510.For example, the seller module 310 may receive the textual descriptor asa submission to the seller device 120 from the seller 121 (e.g., enteredby the seller 121 using a user interface of the seller device 120).Accordingly, the seller module 310 may transmit the textual descriptorto the reception module 210 of the host machine 110. In operation 710,the reception module 210 of the host machine 110 receives the textualdescriptor from the seller module 310 of the seller device 120. This mayhave the effect of providing the provision module 230 with access to thetextual descriptor.

In operation 720, the provision module 230 of the host machine 110provides the textual descriptor to the buyer module 410 of the buyerdevice 130. The buyer module 410 may then display the textual descriptor(e.g., via the display 420) at the buyer device 130. For example, thebuyer module 410 may display the textual descriptor with the image atthe buyer device 130 as an advertisement of the item available forpurchase from the seller 121. In certain example embodiments, the buyermodule 410 performs operation 720 by initiating or controlling operationof the display 420.

According to some example embodiments, the information about the itemdepicted in the image may be obtained using crowd-sourcing techniques inwhich information about an item may be aggregated from one or more users(e.g., users 131 and 141).

Similar to the seller module 310 of the seller device 120, the buyermodule 410 of the buyer device 130 may be configured receive a textualdescriptor of the item. For example, the buyer module 410 may receivethe textual descriptor as a submission to the buyer device 130 from theuser 131 (e.g., entered by the user 131 using a user interface of thebuyer device 130). Accordingly, the buyer module 410 may transmit thetextual descriptor to the reception module 210 of the host machine 110.In operation 730, the reception module 210 of the host machine 110receives the textual descriptor from the buyer module 410 of the buyerdevice 130. This may have the effect of providing the provision module203 with access to the textual descriptor.

In operation 740, the provision module 230 of the host machine 110provides the textual descriptor to another buyer module (e.g., a furtherbuyer module) of another buyer device (e.g., a further buyer device).This may have the effect of allowing another user (e.g., user 141) ofanother buyer device (e.g., buyer device 140) to view the textualdescriptor, as submitted by the user 131 at the buyer device 130.

As shown in FIG. 8, the method 800 includes operations 810 and 820, inaddition to operations 510, 710, and 520. Operations 510 and 520 aredescribed above with respect to FIG. 5, and operation 710 is describedabove with respect to FIG. 7.

According to certain example embodiments, the seller module 310 of theseller device 120 may be configured to receive a first textualdescriptor of the item depicted in the image (e.g., as a submission tothe seller device 120 from the seller 121). Accordingly, the sellermodule 310 may transmit the first textual descriptor to the receptionmodule 210 of the host machine 110, and the first textual descriptor maybe received by the reception module 210 as described above with respectto operation 710.

In operation 810, the descriptor module 220 of the host machine 110determines a second textual descriptor of the item depicted in theimage, based on the first textual descriptor. For example, thedescriptor module 220 may determine the second textual descriptor byselecting from a predefined list (e.g., of synonyms, related words,standard descriptors, supported tags, or any suitable combinationthereof). Moreover, the descriptor module 220 may determine the secondtextual descriptor by accessing a database (e.g., database 112), anoptical character recognizer, or both. This may have the effect ofenabling the provision module 230 to replace or supplement the firsttextual descriptor with the second textual descriptor.

In operation 820, the provision module 230 of the host machine 110provides the second textual descriptor of the item depicted in the imageto the buyer module 410 of the buyer device 130. The buyer module 410may then display the first textual descriptor, the second textualdescriptor, or a combination thereof (e.g., via the display 420) at thebuyer device 130. For example, the buyer module 410 may display thesecond textual descriptor with the image as an advertisement of the itemavailable for purchase from the seller 121. The buyer module 410 mayperform operation 820 by initiating or controlling operation of thedisplay 420.

As shown in FIG. 9, the method 900 includes operations 910 and 920, inaddition to operations 510 and 520. Operations 510 and 520 are describedabove with respect to FIG. 5.

In some example embodiments, the seller module 310 at the seller device120 is configured to receive a price of the item depicted in the image.For example, the seller module 310 may receive the price as a submissionto the seller device 120 from the seller 121. The price may be an amountof money (e.g., currency), a descriptive word or phrase (e.g., “free,”“market price,” or “best offer”), or any suitable combination thereof.Accordingly, the seller module 310 may transmit the price to thereception module 210 of the host machine 110. In operation 910, thereception module 210 of the host machine 110 receives the price from theseller module 310 of the seller device 120. This may have the effect ofproviding the provision module 203 with access to the price.

In operation 920, the provision module 230 of the host machine 110provides the price to the buyer module 410 of the buyer device 130. Thebuyer module 410 may then display the price (e.g., by the display 420)at the buyer device 130. For example, the buyer module 410 may displaythe price with the image at the buyer device 130 as an advertisement ofthe item available for purchase from the seller 121. The buyer module410 may perform operation 920 by initiating or controlling operation ofthe display 420.

As shown in FIG. 10, the method 1000 includes operations 1010, 1020, and1030, in addition to operations 510 and 520. Operations 510 and 520 aredescribed above with respect to FIG. 5.

In certain example embodiments, the provision module 230 of the hostmachine 110 is configured to provide the image of the item to the buyermodule 410 of the buyer device 130, based on location information. Forexample, the provision module 230 may provide the image of the itembased on a determination that the buyer device 130 and the seller device120 are geographically close to each other (e.g., in the same state,city, or neighborhood). This determination may include determining thata geographical distance between the buyer device 130 and the sellerdevice 120 falls within a predetermined threshold distance. As anotherexample, the provision module 230 may provide the image based on adetermination that the buyer device 130 is at or near a geographicallocation specified by the seller 121. As a further example, theprovision module 230 may provide the image based on a determination thatthe seller device 120 is at or near a geographical location specified bythe user 131.

In operation 1010, the reception module 210 of the host machine 110receives first location information from the seller module 310 of theseller device 120. The first location information indicates the locationof the seller device 120 (e.g., a location that corresponds to theseller device 120). This may have the effect of providing the provisionmodule 230 with access to the first location information.

In operation 1020, the reception module 210 of the host machine 110receives second location information from the buyer module 410 of thebuyer device 130. The second location information indicates the locationof the buyer device 130 (e.g., a location that corresponds to the buyerdevice 130). This may have the effect of providing the provision module230 with access to the second location information. Accordingly, theprovision module 230 may perform operation 520 based on the first andsecond location information.

According to various example embodiments, the host machine 110 maycommunicate (e.g., transmit, post, or upload) the image of the item toan advertisement server (e.g., classified advertisement server 114). Inoperation 1030, the provision module 230 of the host machine 110communicates the image of the item to the classified advertisementserver 114. The classified advertisement server 114 is configured topublish a listing of the item based on the image communicated inoperation 1030. For example, the classified advertisement server 114 maypublish the image of the item as all or part of the listing of the item(e.g., on a web page). As noted above, the listing of the item mayfunction as an advertisement (e.g., a classified ad) of the item. Thismay have the effect of advertising the item to users of the classifiedadvertisement server 114 (e.g., beyond the users 131 and 141).

As shown in FIG. 11, the method 1100 includes operations 1110 and 1120,in addition to operations 510 and 520. Operations 510 and 520 aredescribed above with respect to FIG. 5.

In certain example embodiments, the host machine 110 provides software(e.g., as modules) to one or more devices in the network environment 100(e.g., seller device 120 or buyer device 130). For example, the hostmachine 110 may provide software as a downloadable application to avariety of mobile devices. As another example, the host machine 110 mayprovide the software as an update or upgrade of an application for themobile devices.

In operation 1110, the provision module 230 of the host machine 110provides the seller module 310 to the seller device 120, for executionby the seller device 120. The seller module 310 may be a newapplication, applet, or app for the seller device 120. Alternatively,the seller module 310 may be an upgrade or update of software alreadystored or executing at the seller device 120. Operation 1110 may beperformed in response to a request for the seller module 310 (e.g., adownload request). The request may be submitted by the seller 121 (e.g.,entered using a user interface of the seller device 120). In someexample embodiments, a fee is charged for use of the seller module 310,and the provision module 230 may initiate a transaction to charge thefee to the seller 121.

In operation 1120, the provision module 230 of the host machine 110provides the buyer module 410 to the buyer device 130, for execution bythe buyer device 130. The buyer module 410 may be a new application,applet, or app for the buyer device 130. Alternatively, the buyer module410 may be an upgrade or update of software already stored or executingat the buyer device 130. Operation 1120 may be performed in response toa request for the buyer module 410 (e.g., a download request). Therequest may be submitted by the user 131 (e.g., entered using a userinterface of the buyer device 130). In certain example embodiments, afee is charged for use of the buyer module 410, and the provision module230 may initiate a transaction to charge a fee to the user 131.

According to various example embodiments, one or more of themethodologies discussed herein may facilitate the merchandising of anitem, for example, by providing an image of the item as an advertisementfor that item. In particular, one or more of the methodologies describedherein may constitute all or part of a business method (e.g., a businessmethod implemented using a machine) that provides one or more users of anetwork-based system with a convenient way to browse and select itemsfor potential purchase. Accordingly, one or more of the methodologiesdescribed herein may have the effect of increasing sales of a product,increasing a likelihood of a sale of a particular instance of a product,or both.

When these effects are considered in aggregate, one or more of themethodologies described herein may obviate a need for certain efforts orresources that otherwise would be involved in matching users (e.g., aspotential participants in a purchase transaction) with products oritems. Efforts expended by a seller in obtaining attention frompotential buyers (e.g., users 131 and 141) may be reduced by one or morethe methodologies described herein. Similarly, efforts expended by auser in identifying a product for purchase may be reduced by one or moreof the methodologies described herein. Computing resources used by oneor more machines, databases, or devices (e.g., within the networkenvironment 100) may accordingly be reduced. Examples of such computingresources include processor cycles, network traffic, memory usage, datastorage capacity, power consumption, and cooling capacity.

FIG. 12 illustrates components of a machine 1200, according to someexample embodiments, that is able to read instructions from amachine-readable medium (e.g., a machine-readable storage medium) andperform any one or more of the methodologies discussed herein.Specifically, FIG. 12 shows a diagrammatic representation of the machine1200 in the example form of a computer system and within whichinstructions 1224 (e.g., software) for causing the machine 1200 toperform any one or more of the methodologies discussed herein may beexecuted. In alternative embodiments, the machine 1200 operates as astandalone device or may be connected (e.g., networked) to othermachines. In a networked deployment, the machine 1200 may operate in thecapacity of a server machine or a client machine in a server-clientnetwork environment, or as a peer machine in a peer-to-peer (ordistributed) network environment. The machine 1200 may be a servercomputer, a client computer, a personal computer (PC), a tabletcomputer, a laptop computer, a netbook, a set-top box (STB), a personaldigital assistant (PDA), a cellular telephone, a smartphone, a webappliance, a network router, a network switch, a network bridge, or anymachine capable of executing the instructions 1224 (sequentially orotherwise) that specify actions to be taken by that machine. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include a collection of machines that individually orjointly execute the instructions 1224 to perform any one or more of themethodologies discussed herein.

The machine 1200 includes a processor 1202 (e.g., a central processingunit (CPU), a graphics processing unit (GPU), a digital signal processor(DSP), an application specific integrated circuit (ASIC), aradio-frequency integrated circuit (RFIC), or any suitable combinationthereof), a main memory 1204, and a static memory 1206, which areconfigured to communicate with each other via a bus 1208. The machine1200 may further include a graphics display 1210 (e.g., a plasma displaypanel (PDP), a liquid crystal display (LCD), a projector, or a cathoderay tube (CRT)). The machine 1200 may also include an alphanumeric inputdevice 1212 (e.g., a keyboard), a cursor control device 1214 (e.g., amouse, a touchpad, a trackball, a joystick, a motion sensor, or otherpointing instrument), a storage unit 1216, a signal generation device1218 (e.g., a speaker), and a network interface device 1220.

The storage unit 1216 includes a machine-readable medium 1222 on whichis stored the instructions 1224 (e.g., software) embodying any one ormore of the methodologies or functions described herein. Theinstructions 1224 may also reside, completely or at least partially,within the main memory 1204, within the processor 1202 (e.g., within theprocessor's cache memory), or both, during execution thereof by themachine 1200. Accordingly, the main memory 1204 and the processor 1202may be considered as machine-readable media. The instructions 1224 maybe transmitted or received over a network 1226 (e.g., network 190) viathe network interface device 1220.

As used herein, the term “memory” refers to a machine-readable mediumable to store data temporarily or permanently and may be taken toinclude, but not be limited to, random-access memory (RAM), read-onlymemory (ROM), buffer memory, flash memory, and cache memory. While themachine-readable medium 1222 is shown in an example embodiment to be asingle medium, the term “machine-readable medium” should be taken toinclude a single medium or multiple media (e.g., a centralized ordistributed database, or associated caches and servers) able to storeinstructions (e.g., instructions 1224). The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring instructions (e.g., software) for execution by the machine, suchthat the instructions, when executed by one or more processors of themachine (e.g., processor 1202), cause the machine to perform any one ormore of the methodologies described herein. The term “machine-readablemedium” shall accordingly be taken to include, but not be limited to, adata repository in the form of a solid-state memory, an optical medium,a magnetic medium, or any suitable combination thereof.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A “hardware module” is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain physical manner. In various exampleembodiments, one or more computer systems (e.g., a standalone computersystem, a client computer system, or a server computer system) or one ormore hardware modules of a computer system (e.g., a processor or a groupof processors) may be configured by software (e.g., an application orapplication portion) as a hardware module that operates to performcertain operations as described herein.

In some embodiments, a hardware module may be implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module may include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module may be a special-purpose processor, such as a fieldprogrammable gate array (FPGA) or an ASIC. A hardware module may alsoinclude programmable logic or circuitry that is temporarily configuredby software to perform certain operations. For example, a hardwaremodule may include software encompassed within a general-purposeprocessor or other programmable processor. It will be appreciated thatthe decision to implement a hardware module mechanically, in dedicatedand permanently configured circuitry, or in temporarily configuredcircuitry (e.g., configured by software) may be driven by cost and timeconsiderations.

Accordingly, the term “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where thehardware modules comprise a general-purpose processor configured bysoftware to become a special-purpose processor, the general-purposeprocessor may be configured as respectively different hardware modulesat different times. Software may accordingly configure a processor, forexample, to constitute a particular hardware module at one instance oftime and to constitute a different hardware module at a differentinstance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications may be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodiments inwhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein may be at least partiallyprocessor-implemented, a processor being an example of hardware. Forexample, at least some of the operations of a method may be performed byone or more processors or processor-implemented modules. Moreover, theone or more processors may also operate to support performance of therelevant operations in a “cloud computing” environment or as a “softwareas a service” (SaaS). For example, at least some of the operations maybe performed by a group of computers (as examples of machines includingprocessors), with these operations being accessible via a network (e.g.,the Internet) and via one or more appropriate interfaces (e.g., anapplication program interface (API)).

The performance of certain of the operations may be distributed amongthe one or more processors, not only residing within a single machine,but deployed across a number of machines. In some example embodiments,the one or more processors or processor-implemented modules may belocated in a single geographic location (e.g., within a homeenvironment, an office environment, or a server farm). In other exampleembodiments, the one or more processors or processor-implemented modulesmay be distributed across a number of geographic locations.

Some portions of this specification are presented in terms of algorithmsor symbolic representations of operations on data stored as bits orbinary digital signals within a machine memory (e.g., a computermemory). These algorithms or symbolic representations are examples oftechniques used by those of ordinary skill in the data processing artsto convey the substance of their work to others skilled in the art. Asused herein, an “algorithm” is a self-consistent sequence of operationsor similar processing leading to a desired result. In this context,algorithms and operations involve physical manipulation of physicalquantities. Typically, but not necessarily, such quantities may take theform of electrical, magnetic, or optical signals capable of beingstored, accessed, transferred, combined, compared, or otherwisemanipulated by a machine. It is convenient at times, principally forreasons of common usage, to refer to such signals using words such as“data,” “content,” “bits,” “values,” “elements,” “symbols,”“characters,” “terms,” “numbers,” “numerals,” or the like. These words,however, are merely convenient labels and are to be associated withappropriate physical quantities.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or any suitable combination thereof), registers, orother machine components that receive, store, transmit, or displayinformation. Furthermore, unless specifically stated otherwise, theterms “a” or “an” are herein used, as is common in patent documents, toinclude one or more than one instance. Finally, as used herein, theconjunction “or” refers to a non-exclusive “or,” unless specificallystated otherwise.

The invention claimed is:
 1. A computer-implemented method comprising:capturing an image of an item by a first client device; associating theimage with information usable to direct an electronic communication tothe first client device; providing the image, the associated informationusable to direct the electronic communication, and a textual descriptorof the item to a server accessible by a second client device; andreceiving an electronic communication at the first client device fromthe second client device regarding the image based on the informationusable to direct the electronic communication to the first client devicethat is associated with the image.
 2. The computer-implemented method ofclaim 1, wherein, based on the textual descriptor, the server provides atag for the image, the tag being usable by the second client device toidentify the image and the information usable to direct the electroniccommunication.
 3. The computer-implemented method of claim 2, whereinthe tag for the image is selected by the server from a predefined list.4. The computer-implemented method of claim 1, further comprisinggenerating location information indicating a location of the firstclient device, wherein the electronic communication is received at thefirst client device further based on the location of the first clientdevice.
 5. The computer-implemented method of claim 4, wherein theelectronic communication is received at the first client device furtherbased on the location of the first client device relative to a locationof the second client device.
 6. The computer-implemented method of claim1, further comprising associating location information indicating alocation of the first client device with the image and providing theimage with the associated location information to the server, whereinthe first client device generates the location information usingtriangulation.
 7. The computer-implemented method of claim 1, whereinthe textual descriptor of the item is provided at the second clientdevice in response to a request from the second client device, andwherein the request is based on the second client device initiallydisplaying only the image of the item.
 8. A machine-readable storagemedium embodying instructions that, when executed by a machine, causethe machine to perform operations, the operations comprising:associating an image of an item with information usable to direct anelectronic communication to a first client device; providing the image,the associated information usable to direct the electroniccommunication, and a textual descriptor of the item to a serveraccessible by a second client device; and receiving an electroniccommunication at the first client device from the second client deviceregarding the image based on the information usable to direct theelectronic communication to the first client device that is associatedwith the image.
 9. The machine-readable medium of claim 8, wherein,based on the textual descriptor, the server provides a tag for theimage, the tag being usable by the second client device to identify theimage and the information usable to direct the electronic communication.10. The machine-readable medium of claim 9, wherein the tag for theimage is selected by the server from a predefined list.
 11. Themachine-readable medium of claim 8, further comprising generatinglocation information indicating a location of the first client device,wherein the electronic communication is received at the first clientdevice further based on the location of the first client device.
 12. Themachine-readable medium of claim 11, wherein the electroniccommunication is received at the first client device further based onthe location of the first client device relative to a location of thesecond client device.
 13. The machine-readable medium of claim 8,further comprising associating location information indicating alocation of the first client device with the image and providing theimage with the associated location information to the server, whereinthe first client device generates the location information usingtriangulation.
 14. The machine-readable medium of claim 8, wherein thetextual descriptor of the item is provided at the second client devicein response to a request from the second client device, and wherein therequest is based on the second client device initially displaying onlythe image of the item.
 15. A client device comprising: a camera; one ormore processors; and one or more machine-readable storage media storinginstructions that, when used by the one or more processors, cause theone or more processors to: capturing an image of an item using thecamera; associating the image with information usable to direct anelectronic communication to the client device; providing the image, theassociated information usable to direct the electronic communication,and a textual descriptor of the item to a server accessible by a secondclient device; and receiving an electronic communication at the clientdevice from the second client device regarding the image based on theinformation usable to direct the electronic communication to the clientdevice that is associated with the image.
 16. The client device of claim15, wherein, based on the textual descriptor, the server provides a tagfor the image, the tag being usable by the second client device toidentify the image and the information usable to direct the electroniccommunication.
 17. The client device of claim 15, further comprisinggenerating location information indicating a location of the clientdevice, wherein the electronic communication is received at the clientdevice further based on the location of the client device.
 18. Theclient device of claim 17, wherein the electronic communication isreceived at the client device further based on the location of theclient device relative to a location of the second client device. 19.The client device of claim 15, further comprising associating locationinformation indicating a location of the client device with the imageand providing the image with the associated location information to theserver, wherein the client device generates the location informationusing triangulation.
 20. The client device of claim 15, wherein thetextual descriptor of the item is provided at the second client devicein response to a request from the second client device, and wherein therequest is based on the second client device initially displaying onlythe image of the item.